The Graph Programming Language GP
نویسنده
چکیده
GP (for Graph Programs) is a rule-based, nondeterministic programming language for solving graph problems at a high level of abstraction, freeing programmers from handling low-level data structures. The core of GP consists of four constructs: single-step application of a set of conditional graph-transformation rules, sequential composition, branching and iteration. This paper gives an overview on the GP project. We introduce the language by discussing a sequence of small programming case studies, formally explain conditional rule schemata which are the building blocks of programs, and present a semantics for GP in the style of structural operational semantics. A special feature of the semantics is how it uses the notion of finitely failing programs to define powerful branching and iteration commands. We also describe GP’s prototype implementation.
منابع مشابه
A Reference Interpreter for the Graph Programming Language GP 2
GP 2 is an experimental programming language for computing by graph transformation. An initial interpreter for GP 2, written in the functional language Haskell, provides a concise and simply structured reference implementation. Despite its simplicity, the performance of the interpreter is sufficient for the comparative investigation of a range of test programs. It also provides a platform for t...
متن کاملThe York Abstract Machine
We introduce the York Abstract Machine (YAM) for implementing the graph programming language GP and, potentially, other graph transformation languages. The advantages of an abstract machine over a direct interpreter for graph transformation rules are better efficiency, use as a common target for compiling both future versions of GP and other languages, and portability of GP programs to differen...
متن کاملReasoning about Graph Programs
GP 2 is a non-deterministic programming language for computing by graph transformation. One of the design goals for GP 2 is syntactic and semantic simplicity, to facilitate formal reasoning about programs. In this paper, we demonstrate with four case studies how programmers can prove termination and partial correctness of their solutions. We argue that GP 2’s graph transformation rules, togethe...
متن کاملThe Implementation of Graph Programming Systems
Implementing a graph programming system is not a straightforward task. The challenge not only lies in converting a graphical graph-based program into low-level machine code, but the code must correctly perform the complex and non-deterministic operation of graph transformation through graph rewriting rules. GP is a high-level graph programming language. Users of the GP system can write graph pr...
متن کاملThe Semantics of Graph Programs
GP (for Graph Programs) is a rule-based, nondeterministic programming language for solving graph problems at a high level of abstraction, freeing programmers from handling low-level data structures. The core of GP consists of four constructs: single-step application of a set of conditional graphtransformation rules, sequential composition, branching and iteration. We present a formal semantics ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009